package com.cyt.sys.dao;

import com.cyt.base.dao.BaseDao;
import com.cyt.sys.model.po.SysUser;
import com.cyt.sys.model.vo.SysUserVo;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 用户dao层
 *
 * @author shengQiang yu
 * @date 2019-04-24 16:07
 */
@Repository
public interface SysUserDao extends BaseDao<SysUser> {

    /**
     * 左关联查询用户、角色、和组织信息
     *
     * @param sysUserVo 对象
     * @return List<SysUser>
     * @author shengQiang yu
     * @date 2019-04-24 9:51
     */
    List<SysUser> listLeftRoleAndOrg(SysUserVo sysUserVo);

    /**
     * 左关联查询组织信息
     *
     * @param sysUserVo 对象
     * @return List<SysUser>
     * @author shengQiang yu
     * @date 2019-04-24 9:51
     */
    List<SysUser> listLeftOrg(SysUserVo sysUserVo);

    /**
     * 左关联查询用户和组织信息
     *
     * @param sysUserVo 对象
     * @return List<SysUser>
     * @author shengQiang yu
     * @date 2019-04-24 9:51
     */
    List<SysUser> listLeftUserOrOrg(SysUserVo sysUserVo);

    /**
     * 左键关联token
     *
     * @param sysUserVo 对象
     * @return SysUser
     * @author Jun Han
     * @date 2019/7/9 18:03
     */
    SysUser selectUserByToken(SysUserVo sysUserVo);
}